package com.ruoyi.type.mapper;

import java.util.List;

import com.ruoyi.strategy.domain.Strategy;
import com.ruoyi.type.domain.Type;
import org.apache.ibatis.annotations.Param;

/**
 * 类型表Mapper接口
 *
 * @author ruoyi
 * @date 2025-01-09
 */
public interface TypeMapper
{
    /**
     * 查询类型表
     *
     * @param id 类型表主键
     * @return 类型表
     */
    public Type selectTypeById(Integer id);

    /**
     * 查询类型表列表
     *
     * @param type 类型表
     * @return 类型表集合
     */
    public List<Type> selectTypeList(Type type);

    /**
     * 新增类型表
     *
     * @param type 类型表
     * @return 结果
     */
    public int insertType(Type type);

    /**
     * 修改类型表
     *
     * @param type 类型表
     * @return 结果
     */
    public int updateType(Type type);

    /**
     * 删除类型表
     *
     * @param id 类型表主键
     * @return 结果
     */
    public int deleteTypeById(Integer id);

    /**
     * 批量删除类型表
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTypeByIds(Integer[] ids);



    //根据name查询出Type
    public Type selectTypeByName(@Param("name")String name);

    public int deleteTypeByTypeId(@Param("typeId")Integer typeId);

    public List<Strategy> selectStrategyByTypeId(@Param("typeId") Integer typeId);

    public List<Type> selectExistType();
}
